﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Abp.AutoMapper;
using Abp.Runtime.Validation;
using Abp.Extensions;
using LeadThing.AbpZeroTemplate.Articles;

namespace LeadThing.AbpZeroTemplate.Articles.Dtos
{
    /// <summary>
    /// 文章编辑用Dto
    /// </summary>
    [AutoMap(typeof(Article))]
    public class ArticleEditDto
    {

        /// <summary>
        ///   主键Id
        /// </summary>
        [DisplayName("主键Id")]
        public long? Id { get; set; }

        /// <summary>
        /// 类别ID
        /// </summary>
        [DisplayName("类别ID")]
        [Required]
        public int CategoryId { get; set; }

        /// <summary>
        /// 调用别名
        /// </summary>
        [DisplayName("调用别名")]
        public string CallIndex { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        [DisplayName("标题")]
        [Required]
        [MaxLength(100)]
        public string Title { get; set; }

        /// <summary>
        /// 外部链接
        /// </summary>
        [DisplayName("外部链接")]
        public string LinkUrl { get; set; }

        /// <summary>
        /// 文件ID
        /// </summary>
        [DisplayName("文件ID")]
        public int FileID { get; set; }

        /// <summary>
        /// SEO标题
        /// </summary>
        [DisplayName("SEO标题")]
        [MaxLength(500)]
        public string SeoTitle { get; set; }

        /// <summary>
        /// SEO关健字
        /// </summary>
        [DisplayName("SEO关健字")]
        [MaxLength(500)]
        public string SeoKeyWords { get; set; }

        /// <summary>
        /// SEO描述
        /// </summary>
        [DisplayName("SEO描述")]
        [MaxLength(500)]
        public string SeoDescription { get; set; }

        /// <summary>
        /// 内容摘要
        /// </summary>
        [DisplayName("内容摘要")]
        [MaxLength(500)]
        public string ContentAbstract { get; set; }

        /// <summary>
        /// 详细内容
        /// </summary>
        [DisplayName("详细内容")]
        [Required]
        public string Content { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        [DisplayName("排序")]
        public int SortId { get; set; }

        /// <summary>
        /// 浏览次数
        /// </summary>
        [DisplayName("浏览次数")]
        public int Click { get; set; }

        /// <summary>
        /// 状态0正常1未审核2锁定
        /// </summary>
        [DisplayName("状态0正常1未审核2锁定")]
        public int Status { get; set; }

        /// <summary>
        /// 是否允许评论
        /// </summary>
        [DisplayName("是否允许评论")]
        public bool IsMsg { get; set; }

        /// <summary>
        /// 是否置顶
        /// </summary>
        [DisplayName("是否置顶")]
        public bool IsTop { get; set; }

        /// <summary>
        /// 是否推荐
        /// </summary>
        [DisplayName("是否推荐")]
        public bool IsRed { get; set; }

        /// <summary>
        /// 是否热门
        /// </summary>
        [DisplayName("是否热门")]
        public bool IsHot { get; set; }

        /// <summary>
        /// 是否幻灯片
        /// </summary>
        [DisplayName("是否幻灯片")]
        public bool IsSlide { get; set; }

        /// <summary>
        /// 是否管理员发布0不是1是
        /// </summary>
        [DisplayName("是否管理员发布0不是1是")]
        public bool IsSys { get; set; }

        /// <summary>
        /// 喜欢数量
        /// </summary>
        [DisplayName("喜欢数量")]
        public int LikeCount { get; set; }

        /// <summary>
        /// 发布人
        /// </summary>
        [DisplayName("发布人")]
        public string Publisher { get; set; }

        /// <summary>
        /// 来源
        /// </summary>
        [DisplayName("来源")]
        public string Source { get; set; }

    }
}
